use "/Users/jg74853/Desktop/ZB - Confidence Book/Data/Final Wave 2 Survey/Wave 2.dta"

***Define Variables***
replace Q11 =. if Q11 == 98
generate Q11T =.
replace Q11T = 0 if Q11 > 2
replace Q11T = 1 if Q11 < 3
replace Q11T =. if Q11 ==.

gen q11t = Q11T

label define Confidence 0 "Not Confident" 1 "Confident"
label values Q11T q11t Confidence

generate Q11H =.
replace Q11H = 0 if Q11 > 1
replace Q11H = 1 if Q11 == 1

generate PID3 =.
replace PID3 = 1 if PARTYID < 4
replace PID3 = 2 if PARTYID == 4
replace PID3 = 3 if PARTYID > 4 & PARTYID < 8

label define PID3 1 "Dem" 2 "Ind" 3 "Rep"
label values PID3 PID3

gen DEM = 0 if PID3 < 4
replace DEM = 1 if PID3 == 1
gen REP = 0 if PID3 < 4
replace REP = 1 if PID3 == 3
gen IND = 0 if PID3 < 4
replace IND = 1 if PID3 == 2

replace IDEO =. if IDEO == 98

gen IDEO3 = .
replace IDEO3 = 1 if IDEO < 4
replace IDEO3 = 2 if IDEO == 4
replace IDEO3 = 3 if IDEO > 4 & IDEO < 8

gen IDEO3a = IDEO3
replace IDEO3a = 4 if IDEO == 8

gen LIB = 0
replace LIB = 1 if IDEO3 == 1
gen MOD = 0
replace MOD = 1 if IDEO3 == 2
gen CON = 0
replace CON = 1 if IDEO3 == 3

gen MALE = 0
replace MALE = 1 if GENDER == 1

gen VET = VETERAN if VETERAN < 98
replace VET = 0 if VETERAN == 2
replace VET = 0 if VETERAN2 == 1
replace VET = . if VETERAN2 == 98


gen ACTIVEDUTY = 0 if VETERAN < 98
replace ACTIVEDUTY = . if VETERAN2 == 98
replace ACTIVEDUTY = 1 if VETERAN2 == 1

generate FAMILY = 0 if Q39 < 77
replace FAMILY = 1 if Q39 == 1

gen SOCIAL = 0 if Q38 < 98
replace SOCIAL = 1 if Q38 == 1

generate religion = 0 if RELIG < 98
replace religion = 1 if RELIG == 1
replace religion = 1 if RELIG == 3
replace religion = 1 if RELIG == 4
replace religion = 1 if RELIG == 12
replace religion = 2 if RELIG == 2
replace religion = 3 if RELIG > 8 & RELIG < 12
label define RELIGION2 0 "Other" 1 "Christian" 2 "Catholic" 3 "None"
label values religion RELIGION2

generate christian = 0
replace christian = 1 if religion == 1
generate catholic = 0
replace catholic = 1 if religion == 2
generate norelig = 0
replace norelig = 1 if religion == 3

generate white = 0
replace white = 1 if RACE == 1
generate black = 0
replace black = 1 if RACE == 2
generate hispanic = 0
replace hispanic = 1 if RACE == 4
generate asian = 0
replace asian = 1 if RACE == 6

gen RACE2 = RACE if RACETHNICITY < 77

label define RACE 1 "White" 2 "Black" 4 "Hispanic" 6 "Asian"
label values RACE2 RACE

generate generation =.
replace generation = 1 if AGE > 73
replace generation = 2 if AGE > 54 & AGE < 74
replace generation = 3 if AGE > 38 & AGE < 55
replace generation = 4 if AGE > 22 & AGE < 39
replace generation = 5 if AGE < 23

label define GENERATION 1 "Silent" 2 "Boomer" 3 "Gen X" 4 "Millennial" 5 "Gen Z"
label values generation GENERATION

generate silent = 0
replace silent = 1 if generation == 1
generate boomer = 0
replace boomer = 1 if generation == 2
generate genx = 0
replace genx = 1 if generation == 3
generate milen = 0
replace milen = 1 if generation == 4
generate genz = 0
replace genz = 1 if generation == 5

gen midwest = 0
replace midwest = 1 if REGION4 == 2
gen south = 0
replace south = 1 if REGION4 == 3
gen west = 0
replace west = 1 if REGION4 == 4

replace URBAN3 =. if URBAN3 < 1
generate city = 0
replace city = 1 if URBAN3 == 1
generate rural = 0
replace rural = 1 if URBAN3 == 3

generate unemployed = 0 if EMPLOY < 3  
replace unemployed = 1 if EMPLOY > 2
replace unemployed = 0 if EMPLOY == 5

generate INCOME5 =.
replace INCOME5 = 1 if INCOME < 5
replace INCOME5 = 2 if INCOME > 4 & INCOME < 9
replace INCOME5 = 3 if INCOME > 8 & INCOME < 12
replace INCOME5 = 4 if INCOME > 11 & INCOME < 15
replace INCOME5 = 5 if INCOME > 14

gen married =.
replace married = 1 if MARITAL == 1
replace married = 0 if MARITAL > 1

gen EDUC3 = . if EDUC5 > 5
replace EDUC3 = 1 if EDUC5 < 3
replace EDUC3 = 2 if EDUC5 == 3
replace EDUC3 = 2 if EDUC5 == 4
replace EDUC3 = 3 if EDUC5 == 5

replace Q14 =. if Q14 > 76
replace Q15 =. if Q15 > 76
replace Q16 =. if Q16 > 76

generate Q14T = 0 if Q14 > 2
replace Q14T = 1 if Q14 < 3

generate Q15T = 0 if Q15 > 2
replace Q15T = 1 if Q15 < 3

generate Q16T = 0 if Q16 > 2
replace Q16T = 1 if Q16 < 3

gen d2 = 0
gen d3 = 0
gen d4 = 0
gen d5 = 0
gen d6 = 0
gen d7 = 0
gen d8 = 0

replace d2 = 1 if P_ASSIGN1 == 2
replace d3 = 1 if P_ASSIGN1 == 3
replace d4 = 1 if P_ASSIGN1 == 4
replace d5 = 1 if P_ASSIGN1 == 5
replace d6 = 1 if P_ASSIGN1 == 6
replace d7 = 1 if P_ASSIGN1 == 7
replace d8 = 1 if P_ASSIGN1 == 8

gen p2 =.
replace p2 = 0 if P_ASSIGN1 == 1
replace p2 = 1 if P_ASSIGN1 == 2
gen p3 =.
replace p3 = 0 if P_ASSIGN1 == 1
replace p3 = 1 if P_ASSIGN1 == 3
gen p4 =.
replace p4 = 0 if P_ASSIGN1 == 1
replace p4 = 1 if P_ASSIGN1 == 4

gen p5 =.
replace p5 = 0 if P_ASSIGN1 == 1
replace p5 = 1 if P_ASSIGN1 == 5

label define P_ASSIGN1 1 "Control" 2 "COVID Failure" 3 "COVID Success" 4 "NG Traditional" 5 "NG Controversial" 6 "GOP Military" 7 "Dem Military" 8 "Partisan Military"
label values P_ASSIGN1 P_ASSIGN1

generate P_ASSIGN1A = P_ASSIGN1
replace P_ASSIGN1A = . if P_ASSIGN1 > 1 & P_ASSIGN1 < 6

label define P_ASSIGN1A 1 "Control" 6 "GOP Military" 7 "Dem Military" 8 "Partisan Military"
label values P_ASSIGN1A P_ASSIGN1A

generate Q20DD2 = .
replace Q20DD2 = 1 if Q20DD < 3
replace Q20DD2 = 0 if Q20DD > 2 & Q20DD < 77

generate Q20DE2 = .
replace Q20DE2 = 1 if Q20DE < 3
replace Q20DE2 = 0 if Q20DE > 2 & Q20DE < 77

label define CRITICIZE 1 "Criticize Trump" 2 "Criticize Obama" 3 "Criticize POTUS"
label values P_Q20 CRITICIZE 

gen q13a = Q13A if Q13A < 6
gen q13b = Q13B if Q13B < 6
gen q13c = Q13C if Q13C < 6
gen q13d = Q13D if Q13D < 6
gen q13e = Q13E if Q13E < 6
gen q13f = Q13F if Q13F < 6
gen q13g = Q13G if Q13H < 6
gen q13h = Q13H if Q13H < 6

gen q13a2 = 0 if q13a < 77
replace q13a2 = 1 if q13a < 3
gen q13b2 = 0 if q13b < 77
replace q13b2 = 1 if q13b < 3
gen q13c2 = 0 if q13c < 77
replace q13c2 = 1 if q13c < 3
gen q13d2 = 0 if q13d < 77
replace q13d2 = 1 if q13d < 3
gen q13e2 = 0 if q13e < 77
replace q13e2 = 1 if q13e < 3
gen q13f2 = 0 if q13f < 77
replace q13f2 = 1 if q13f < 3
gen q13g2 = 0 if q13g < 77
replace q13g2 = 1 if q13g < 3
gen q13h2 = 0 if q13h < 77
replace q13h2 = 1 if q13h < 3

recode q13a q13b q13c q13d q13e q13f q13g q13h (1=5)(5=1)(2=4)(4=2)
********************

********************
*****Table 5.1*****
tab q13b2 PID3 if P_ASSIGN1 == 1 [aweight=weight2], column
tab q13h2 PID3 if P_ASSIGN1 == 1 [aweight=weight2], column

*****Figure 5.1*****
mean Q11T if P_ASSIGN1 < 6 [pweight=weight2], over(P_ASSIGN1)

*****Figure 5.2*****
mean Q11T if P_ASSIGN1 < 6 [pweight=weight2], over(PID3 P_ASSIGN1)

*****Table 5.2*****
tab q13d2 PID3 if P_ASSIGN1 == 1 [aweight=weight2], column
tab q13e2 PID3 if P_ASSIGN1 == 1 [aweight=weight2], column
tab q13f2 PID3 if P_ASSIGN1 == 1 [aweight=weight2], column

*****Table 5.3*****
mean q13a2 q13b2 q13h2 q13d2 q13e2 q13f2 if P_ASSIGN1 < 6 [pweight = weight2], over(P_ASSIGN1) cformat(%9.2f) level(84)

*****Table 5.4*****
***COVID SUCCESS***
quietly sem (q13a q13b q13d q13e q13f <- p3) (q11t <- q13a q13b q13d q13e q13f p3) [pweight=weight2]
estat teffects

***COVID FAIL***
quietly sem (q13a q13b q13d q13e q13f <- p2) (q11t <- q13a q13b q13d q13e q13f p2) [pweight=weight2]
estat teffects

***NG RESTORED ORDER***
quietly sem (q13a q13b q13d q13e q13f <- p4) (q11t <- q13a q13b q13d q13e q13f p4) [pweight=weight2]
estat teffects

***NG INFLAMED TENSIONS***
quietly sem (q13a q13b q13d q13e q13f <- p5) (q11t <- q13a q13b q13d q13e q13f p5) [pweight=weight2]
estat teffects

*****Table 5.5*****
by P_Q20, sort: tab Q20DE2 Q11T if PID3 == 1 [aweight=weight2], column
by P_Q20, sort: tab Q20DE2 Q11T if PID3 == 3 [aweight=weight2], column
********************

********************
*****APPENDIX*****
*****Table 5.3A*****
mean q13a2 q13b2 q13h2 q13d2 q13e2 q13f2 if P_ASSIGN1 < 6 [pweight = weight2], over(PID3 P_ASSIGN1) cformat(%9.2f) level(84)

*****TABLE 5.4A*****
***COVID SUCCESS***
quietly sem (q13a q13b q13d q13e q13f <- p3) (q11t <- q13a q13b q13d q13e q13f p3) if PID3 == 1 [pweight=weight2]
estat teffects

quietly sem (q13a q13b q13d q13e q13f <- p3) (q11t <- q13a q13b q13d q13e q13f p3) if PID3 == 3 [pweight=weight2]
estat teffects

***COVID FAIL***
quietly sem (q13a q13b q13d q13e q13f <- p2) (q11t <- q13a q13b q13d q13e q13f p2) if PID3 == 1 [pweight=weight2]
estat teffects

quietly sem (q13a q13b q13d q13e q13f <- p2) (q11t <- q13a q13b q13d q13e q13f p2) if PID3 == 3 [pweight=weight2]
estat teffects

***NG RESTORED ORDER***
quietly sem (q13a q13b q13d q13e q13f <- p4) (q11t <- q13a q13b q13d q13e q13f p4) if PID3 == 1 [pweight=weight2]
estat teffects

quietly sem (q13a q13b q13d q13e q13f <- p4) (q11t <- q13a q13b q13d q13e q13f p4) if PID3 == 3 [pweight=weight2]
estat teffects

***NG INFLAMED TENSIONS***
quietly sem (q13a q13b q13d q13e q13f <- p5) (q11t <- q13a q13b q13d q13e q13f p5) if PID3 == 1 [pweight=weight2]
estat teffects

quietly sem (q13a q13b q13d q13e q13f <- p5) (q11t <- q13a q13b q13d q13e q13f p5) if PID3 == 3 [pweight=weight2]
estat teffects

